[INFO] fetching crate pomsky-syntax 0.11.0...
[INFO] checking pomsky-syntax-0.11.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate pomsky-syntax 0.11.0 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate pomsky-syntax 0.11.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pomsky-syntax 0.11.0
[INFO] finished tweaking crates.io crate pomsky-syntax 0.11.0
[INFO] tweaked toml for crates.io crate pomsky-syntax 0.11.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b1134edba5327c9b4c80a99ec50310b0eeab5d5542ea69d7a1d0bd6dd7eb0fc8
[INFO] running `Command { std: "docker" "start" "-a" "b1134edba5327c9b4c80a99ec50310b0eeab5d5542ea69d7a1d0bd6dd7eb0fc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b1134edba5327c9b4c80a99ec50310b0eeab5d5542ea69d7a1d0bd6dd7eb0fc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1134edba5327c9b4c80a99ec50310b0eeab5d5542ea69d7a1d0bd6dd7eb0fc8", kill_on_drop: false }`
[INFO] [stdout] b1134edba5327c9b4c80a99ec50310b0eeab5d5542ea69d7a1d0bd6dd7eb0fc8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6f674d9aaf3bf181fb9b6736289a33acf52e4e13857f76c62341c5bfa3280876
[INFO] running `Command { std: "docker" "start" "-a" "6f674d9aaf3bf181fb9b6736289a33acf52e4e13857f76c62341c5bfa3280876", kill_on_drop: false }`
[INFO] [stderr]    Compiling pomsky-syntax v0.11.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `split_off` is never used
[INFO] [stdout]   --> src/lexer/micro_regex.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub(crate) trait MicroRegex {
[INFO] [stdout]    |                  ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn split_off<'a>(&self, haystack: &'a str) -> Option<(&'a str, &'a str)> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `split_off` is never used
[INFO] [stdout]   --> src/lexer/micro_regex.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub(crate) trait MicroRegex {
[INFO] [stdout]    |                  ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn split_off<'a>(&self, haystack: &'a str) -> Option<(&'a str, &'a str)> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.86s
[INFO] running `Command { std: "docker" "inspect" "6f674d9aaf3bf181fb9b6736289a33acf52e4e13857f76c62341c5bfa3280876", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f674d9aaf3bf181fb9b6736289a33acf52e4e13857f76c62341c5bfa3280876", kill_on_drop: false }`
[INFO] [stdout] 6f674d9aaf3bf181fb9b6736289a33acf52e4e13857f76c62341c5bfa3280876
[INFO] checking pomsky-syntax-0.11.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate pomsky-syntax 0.11.0 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate pomsky-syntax 0.11.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pomsky-syntax 0.11.0
[INFO] finished tweaking crates.io crate pomsky-syntax 0.11.0
[INFO] tweaked toml for crates.io crate pomsky-syntax 0.11.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 61df628f94aa64719e450e4525f4d8ddb07534be2542c7b4cdc8bd969b9a9c5b
[INFO] running `Command { std: "docker" "start" "-a" "61df628f94aa64719e450e4525f4d8ddb07534be2542c7b4cdc8bd969b9a9c5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "61df628f94aa64719e450e4525f4d8ddb07534be2542c7b4cdc8bd969b9a9c5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61df628f94aa64719e450e4525f4d8ddb07534be2542c7b4cdc8bd969b9a9c5b", kill_on_drop: false }`
[INFO] [stdout] 61df628f94aa64719e450e4525f4d8ddb07534be2542c7b4cdc8bd969b9a9c5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ba365831c886f8f37eabac482de3f6a4ee8a92bbdbbbe7a18a47ca32ce9a5ca
[INFO] running `Command { std: "docker" "start" "-a" "8ba365831c886f8f37eabac482de3f6a4ee8a92bbdbbbe7a18a47ca32ce9a5ca", kill_on_drop: false }`
[INFO] [stderr]    Compiling pomsky-syntax v0.11.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/lexer/diagnostics.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let str = &str[1..];
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:105:20
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let hex = &str[2..];
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:111:20
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let hex = &str[2..];
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let hex = str[2..].trim_matches(&['{', '}'][..]);
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:124:20
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let name = str[2..].trim_matches(&['{', '}', '<', '>', '\''][..]);
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:137:20
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let name = str[2..].trim_matches(&['{', '}', '^'][..]).replace(&['+', '-'][..], "_");
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/lexer/micro_regex.rs:97:34
[INFO] [stdout]    |
[INFO] [stdout] 97 |             haystack = &haystack[add..];
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/micro_regex.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |         haystack = &haystack[len..];
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/micro_regex.rs:114:34
[INFO] [stdout]     |
[INFO] [stdout] 114 |             haystack = &haystack[add..];
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/lexer/tokenize.rs:89:49
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     if c == '\'' => match input[1..].find('\'') {
[INFO] [stdout]    |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/lexer/tokenize.rs:94:70
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     if c == '"' => match find_unescaped_quote(&input[1..]) {
[INFO] [stdout]    |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenize.rs:106:34
[INFO] [stdout]     |
[INFO] [stdout] 106 |                         if input[1..len].trim_start_matches(|c: char| c == '+' || c.is_whitespace())
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/tokenize.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 input = &input[len..];
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/tokenize.rs:156:30
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let next = s[n + 1..].chars().next()?;
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/tokenize.rs:157:24
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 s = &s[n + 1 + next.len_utf8()..];
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/helper.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 | ...                   s = &s[1..];
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/helper.rs:24:40
[INFO] [stdout]    |
[INFO] [stdout] 24 | ...                   s = &s[1..];
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/helper.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 s = &s[char_len..];
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parse/helper.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 |     &s[1..s.len() - 1]
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parse/parser_impl.rs:291:18
[INFO] [stdout]     |
[INFO] [stdout] 291 |         for _ in 0..nots {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parse/parser_impl.rs:448:34
[INFO] [stdout]     |
[INFO] [stdout] 448 |                     let c = name[invalid_index..].chars().next().unwrap();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parse/parser_impl.rs:622:32
[INFO] [stdout]     |
[INFO] [stdout] 622 |             let trimmed_u = cp[1..].trim_start();
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/span.rs:40:18
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Some(self.start..self.end)
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/span.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         self.start..self.end
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/lexer/diagnostics.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let str = &str[1..];
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:105:20
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let hex = &str[2..];
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:111:20
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let hex = &str[2..];
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let hex = str[2..].trim_matches(&['{', '}'][..]);
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:124:20
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let name = str[2..].trim_matches(&['{', '}', '<', '>', '\''][..]);
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/diagnostics.rs:137:20
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let name = str[2..].trim_matches(&['{', '}', '^'][..]).replace(&['+', '-'][..], "_");
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/lexer/micro_regex.rs:97:34
[INFO] [stdout]    |
[INFO] [stdout] 97 |             haystack = &haystack[add..];
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/micro_regex.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |         haystack = &haystack[len..];
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/micro_regex.rs:114:34
[INFO] [stdout]     |
[INFO] [stdout] 114 |             haystack = &haystack[add..];
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/lexer/tokenize.rs:89:49
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     if c == '\'' => match input[1..].find('\'') {
[INFO] [stdout]    |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/lexer/tokenize.rs:94:70
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     if c == '"' => match find_unescaped_quote(&input[1..]) {
[INFO] [stdout]    |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenize.rs:106:34
[INFO] [stdout]     |
[INFO] [stdout] 106 |                         if input[1..len].trim_start_matches(|c: char| c == '+' || c.is_whitespace())
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/tokenize.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 input = &input[len..];
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/tokenize.rs:156:30
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let next = s[n + 1..].chars().next()?;
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lexer/tokenize.rs:157:24
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 s = &s[n + 1 + next.len_utf8()..];
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/helper.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 | ...                   s = &s[1..];
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/helper.rs:24:40
[INFO] [stdout]    |
[INFO] [stdout] 24 | ...                   s = &s[1..];
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/helper.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 s = &s[char_len..];
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parse/helper.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 |     &s[1..s.len() - 1]
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parse/parser_impl.rs:291:18
[INFO] [stdout]     |
[INFO] [stdout] 291 |         for _ in 0..nots {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parse/parser_impl.rs:448:34
[INFO] [stdout]     |
[INFO] [stdout] 448 |                     let c = name[invalid_index..].chars().next().unwrap();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parse/parser_impl.rs:622:32
[INFO] [stdout]     |
[INFO] [stdout] 622 |             let trimmed_u = cp[1..].trim_start();
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/span.rs:40:18
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Some(self.start..self.end)
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/span.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         self.start..self.end
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `split_off` is never used
[INFO] [stdout]   --> src/lexer/micro_regex.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub(crate) trait MicroRegex {
[INFO] [stdout]    |                  ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn split_off<'a>(&self, haystack: &'a str) -> Option<(&'a str, &'a str)> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `split_off` is never used
[INFO] [stdout]   --> src/lexer/micro_regex.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub(crate) trait MicroRegex {
[INFO] [stdout]    |                  ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn split_off<'a>(&self, haystack: &'a str) -> Option<(&'a str, &'a str)> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]   --> src/span.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl From<Range<usize>> for Span {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/span.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn from(Range { start, end }: Range<usize>) -> Self {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pomsky-syntax` (lib) due to 3 previous errors; 25 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "8ba365831c886f8f37eabac482de3f6a4ee8a92bbdbbbe7a18a47ca32ce9a5ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ba365831c886f8f37eabac482de3f6a4ee8a92bbdbbbe7a18a47ca32ce9a5ca", kill_on_drop: false }`
[INFO] [stdout] 8ba365831c886f8f37eabac482de3f6a4ee8a92bbdbbbe7a18a47ca32ce9a5ca
